package 蓝桥杯_2013;

/**
 * 小明参加了学校的趣味运动会,其中的一个项目是:跳格子。地上画着一些格子,每个格子里写一个字,如下所示:
 *    从我做起振
 *    我做起振兴
 *    做起振兴中
 *    起振兴中华
 *
 * 规则：
 *
 * 比赛时,先站在左上角的写着“从”字的格子里可以横向或纵向跳到相邻的格子里,但不能跳到对角的格子或其它位置，一直要跳到“华”字结束
 * 要求跳过的路线刚好构成“从我做起振兴中华”这句话。 请你帮助小明算一算他一共有多少种可能的跳跃路线呢?
 */
public class Test09_振兴中华 {
    public static void main(String[] args) {
        // 使用递归
        int ways = move(0,0);  // 使用坐标的方式运算，初始为（0,0）
        System.out.println("共有"+ways+"种走法");
    }

    private static int move(int i, int j) {
        if ( i==3 || j==4 ){  // 当行数为3的时候只能往右走；当列数为4的时候只能往下走
            return 1;
        }
        return move(i+1,j)+move(i,j+1);
    }
}
